home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / database / bltp18.zip / PBULLET.BI < prev    next >
Text File  |  1994-10-10  |  8KB  |  251 lines

  1. '******* BULLET-1.0  16-Aug-94 *******
  2. 'PB3 version
  3.  
  4. DECLARE FUNCTION BULLET% (SEG packinfo AS ANY)
  5.  
  6. %InitXB = 0: %ExitXB = 1: %AtExitXB = 2
  7. %MemoryXB = 3: %BreakXB = 4: %BackupFileXB = 5: %StatHandleXB = 6
  8. %GetExtErrorXB = 7
  9. %DVmonCXB = 9
  10.  
  11. %CreateDXB = 10: %OpenDXB = 11: %CloseDXB = 12: %StatDXB = 13
  12. %ReadDHXB = 14: %FlushDHXB = 15: %CopyDHXB = 16: %ZapDHXB = 17
  13.  
  14. %CreateKXB = 20: %OpenKXB = 21: %CloseKXB = 22: %StatKXB = 23
  15. %ReadKHXB = 24: %FlushKHXB = 25: %CopyKHXB = 26: %ZapKHXB = 27
  16.  
  17. %GetDescriptorXB = 30: %GetRecordXB = 31
  18. %AddRecordXB = 32: %UpdateRecordXB = 33
  19. %DeleteRecordXB = 34: %UndeleteRecordXB = 35
  20. %PackRecordsXB = 36
  21.  
  22. %FirstKeyXB = 40: %EqualKeyXB = 41: %NextKeyXB = 42
  23. %PrevKeyXB = 43: %LastKeyXB = 44: %StoreKeyXB = 45: %DeleteKeyXB = 46
  24. %BuildKeyXB = 47: %CurrentKeyXB = 48
  25.  
  26. %GetFirstXB = 60: %GetEqualXB = 61: %GetNextXB = 62
  27. %GetPrevXB = 63: %GetLastXB = 64: %InsertXB = 65: %UpdateXB = 66
  28. %ReindexXB = 67
  29.  
  30. %LockXB = 80: %UnlockXB = 81
  31. %LockKeyXB = 82: %UnlockKeyXB = 83: %LockDataXB = 84: %UnlockDataXB = 85
  32. %DriveRemoteXB = 86: %FileRemoteXB = 87: %SetRetriesXB = 88
  33.  
  34. %DeleteFileDOS = 100: %RenameFileDOS = 101: %CreateFileDOS = 102
  35. %OpenFileDOS = 103: %SeekFileDOS = 104: %ReadFileDOS = 105
  36. %WriteFileDOS = 106: %CloseFileDOS = 107
  37. %AccessFileDOS = 108: %ExpandFileDOS = 109: %MakeDirDOS = 110
  38.  
  39. %cUNIQUE = 1: %cCHAR = 2: %cINTEGER = &H10: %cLONG = &H20
  40. %cNLS= &H4000: %cSIGNED = &H8000
  41.  
  42. %ReadOnly = 0: %WriteOnly = 1: %ReadWrite = 2
  43. %Compat = 0
  44. %DenyReadWrite = &H10: %DenyWrite = &H20: %DenyRead = &H30: %DenyNone = &H40
  45. %NoInherit = &H80
  46.  
  47. TYPE AccessPack         'ACCESS TO/FROM KEY/DATA FILE
  48. Func AS INTEGER         'ALSO USED FOR LOCKING FILES AT THE BYTE LEVEL
  49. Stat AS INTEGER
  50. Handle AS INTEGER       'OS handle
  51. RecNo AS LONG           'long integer record number of key/data record
  52. RecPtrOff AS INTEGER    'far pointer to record storage buffer
  53. RecPtrSeg AS INTEGER
  54. KeyPtrOff AS INTEGER    'far pointer to search key buffer
  55. KeyPtrSeg AS INTEGER
  56. NextPtrOff AS INTEGER   'far pointer to next key access pack
  57. NextPtrSeg AS INTEGER
  58. END TYPE  '22
  59.  
  60. TYPE BreakPack
  61. Func AS INTEGER
  62. Stat AS INTEGER
  63. Mode AS INTEGER         '0=disable ctrl-C/Break,1=restore
  64. END TYPE '6
  65.  
  66. TYPE CopyPack
  67. Func AS INTEGER
  68. Stat AS INTEGER
  69. Handle AS INTEGER
  70. FilenamePtrOff AS INTEGER       'far pointer to filenameZ for copy
  71. FilenamePtrSeg AS INTEGER
  72. END TYPE '10
  73.  
  74. TYPE CreateDataPack
  75. Func AS INTEGER
  76. Stat AS INTEGER
  77. FilenamePtrOff AS INTEGER       'far pointer to filenameZ
  78. FilenamePtrSeg AS INTEGER
  79. NoFields AS INTEGER
  80. FieldListPtrOff AS INTEGER      'far pointer to field list
  81. FieldListPtrSeg AS INTEGER
  82. FileID AS INTEGER
  83. END TYPE '16
  84.  
  85. TYPE CreateKeyPack
  86. Func AS INTEGER
  87. Stat AS INTEGER
  88. FilenamePtrOff AS INTEGER       'far pointer to filenameZ
  89. FilenamePtrSeg AS INTEGER
  90. KeyExpPtrOff AS INTEGER         'far pointer to key expressionZ
  91. KeyExpPtrSeg AS INTEGER
  92. XBlink AS INTEGER
  93. KeyFlags AS INTEGER
  94. CodePageID AS INTEGER
  95. CountryCode AS INTEGER
  96. CollatePtrOff AS INTEGER        'far pointer to collate table or 0:0
  97. CollatePtrSeg AS INTEGER
  98. END TYPE '24
  99.  
  100. TYPE FieldDescTYPE      'INTERNAL USE--used by DescriptorPack
  101. FieldName AS STRING * 11  '(needs to be before DescriptorPack)
  102. FieldType AS STRING * 1
  103. FieldDA AS LONG         'unused (all unused fields are reserved)
  104. FieldLength AS STRING * 1
  105. FieldDC AS STRING * 1
  106. A1 AS INTEGER           'unused
  107. A2 AS INTEGER           'unused
  108. filler AS STRING * 10   'unused
  109. END TYPE '32
  110.  
  111. TYPE DescriptorPack
  112. Func AS INTEGER
  113. Stat AS INTEGER
  114. Handle AS INTEGER
  115. FieldNumber AS INTEGER  'field number to get info on: %or if 0 then
  116. FD AS FieldDescTYPE     'search for FD.FieldName
  117. END TYPE '40
  118.  
  119. TYPE DOSFilePack
  120. Func AS INTEGER
  121. Stat AS INTEGER
  122. FilenamePtrOff AS INTEGER       'far pointer to filenameZ
  123. FilenamePtrSeg AS INTEGER
  124. Handle AS INTEGER
  125. ASmode AS INTEGER
  126. Bytes AS INTEGER
  127. SeekOffset AS LONG              'also bytes to expand file by
  128. Method AS INTEGER
  129. BufferPtrOff AS INTEGER         'far pointer to read/write buffer
  130. BufferPtrSeg AS INTEGER
  131. Attr AS INTEGER
  132. NewNamePtrOff AS INTEGER        'far pointer to new filenameZ for rename
  133. NewNamePtrSeg AS INTEGER
  134. END TYPE '30
  135.  
  136. TYPE DVmonPack          'DEBUG ENGINE ONLY
  137. Func AS INTEGER
  138. Stat AS INTEGER
  139. Mode AS INTEGER         '0=off,1=on,2=put up base screen only
  140. Handle AS INTEGER       'handle to monitor
  141. VS AS INTEGER           'video buffer segment (4000 bytes at least)
  142. END TYPE '10
  143.  
  144. TYPE ExitPack
  145. Func AS INTEGER
  146. Stat AS INTEGER
  147. END TYPE '4
  148.  
  149. TYPE HandlePack
  150. Func AS INTEGER
  151. Stat AS INTEGER
  152. Handle AS INTEGER
  153. END TYPE '6
  154.  
  155. TYPE InitPack
  156. Func AS INTEGER
  157. Stat AS INTEGER
  158. JFTmode AS INTEGER
  159. DOSver AS INTEGER
  160. Version AS INTEGER
  161. ExitPtrOff AS INTEGER      'far pointer to ExitXB routine
  162. ExitPtrSeg AS INTEGER
  163. END TYPE '14
  164.  
  165. TYPE MemoryPack
  166. Func AS INTEGER
  167. Stat AS INTEGER
  168. Memory AS LONG          'largest free block of memory
  169. END TYPE '8
  170.  
  171. TYPE OpenPack
  172. Func AS INTEGER
  173. Stat AS INTEGER
  174. Handle AS INTEGER               'returned OS handle of file opened
  175. FilenamePtrOff AS INTEGER       'far pointer to filenameZ
  176. FilenamePtrSeg AS INTEGER
  177. ASmode AS INTEGER               'access-sharing mode
  178. xbHandle AS INTEGER     'if opening key file this is its related xb handle
  179. END TYPE '14
  180.  
  181. TYPE RemotePack
  182. Func AS INTEGER
  183. Stat AS INTEGER
  184. Handle AS INTEGER       'handle/drive depending on routine
  185. IsRemote AS INTEGER     '0=local,1=remote
  186. Flags AS INTEGER        'DX register as returned by DOS
  187. IsShare AS INTEGER      '0=SHARE.EXE not loaded
  188. END TYPE '12
  189.  
  190. TYPE SetRetriesPack
  191. Func AS INTEGER
  192. Stat AS INTEGER
  193. Mode AS INTEGER         '0=set DOS default else use Pauses/Retries below
  194. Pause AS INTEGER        '0-65535 loop counter between retries
  195. Retries As INTEGER      '0-65535 retries to access locked file
  196. END TYPE '10
  197.  
  198. TYPE StatDataPack
  199. Func AS INTEGER
  200. Stat AS INTEGER
  201. Handle AS INTEGER       'XB data file
  202. FileType AS STRING * 1  '1=XB data
  203. Dirty AS STRING * 1     '0=not changed
  204. Recs AS LONG            'records
  205. RecLen AS INTEGER       'record length
  206. Fields AS INTEGER       'fields per record ()
  207. f1 AS STRING * 1        'reserved (1=update DVmon)
  208. LUyear AS STRING * 1    'binary: %year file last updated
  209. LUmonth AS STRING * 1   'month
  210. LUday AS STRING * 1     'day
  211. HereSeg AS INTEGER      'this file's control segment
  212. filler AS STRING * 10
  213. END TYPE '32
  214.  
  215. TYPE StatKeyPack
  216. Func AS INTEGER
  217. Stat AS INTEGER
  218. Handle AS INTEGER       'key file
  219. FileType AS STRING * 1  '0=key
  220. Dirty AS STRING * 1     '0=not changed
  221. Keys AS LONG            'keys
  222. KeyLen AS INTEGER       'key length
  223. XBlink AS INTEGER       'XB data file link
  224. XBrecno AS LONG         'record number of current key
  225. HereSeg AS INTEGER      'this file's control segment
  226. CodePageID AS INTEGER
  227. CountryCode AS INTEGER
  228. CollateTableSize AS INTEGER
  229. KeyFlags AS INTEGER
  230. filler AS STRING * 2
  231. END TYPE '32
  232.  
  233. TYPE StatHandlePack             'SHP
  234. Func AS INTEGER
  235. Stat AS INTEGER
  236. Handle AS INTEGER               'OS handle to gather stats on
  237. ID AS INTEGER                   'ID 0=key file,1=DBF data: %-1 not BULLET
  238. FilenamePtrOff AS INTEGER       'far pointer to filenameZ of handle
  239. FilenamePtrSeg AS INTEGER
  240. END TYPE '12
  241.  
  242. TYPE XErrorPack                 'XEP
  243. Func AS INTEGER
  244. Stat AS INTEGER                 'extended error
  245. Class AS INTEGER                'error class
  246. Action AS INTEGER               'suggested action
  247. Location AS INTEGER             'error location
  248. END TYPE '10
  249.  
  250. '<End of BULLET.BI>
  251.